Telegram Group & Telegram Channel
🐍Решение задачи на Python «сумма двух» (Two sum)

Вам даны массив и число N. Нужно вернуть True, если в массиве есть такие два числа A и B, что их сумма A + B даёт N. В противном случае нужно вернуть False.
Примеры:
[1, 2, 3, 4], 5 ⇒ True
[3, 4, 6], 6 ⇒
False


✔️Можно, конечно, применить брутфорс, но есть решение получше. Его сложность составит O(n). Вот как оно выглядит:


def two_sum(numbers, target):
index = {num: i for (i, num) in enumerate(numbers)}

n = len(numbers)

for i in range(n):
a = numbers[i]
b = target - a

if b in index:
j = index[b]
if i != j:
return True

return False


Здесь сначала создаётся словарь index, который хранит числа из массива в качестве ключей и их индексы в массиве в качестве значений. Затем идёт перебор элементов массива. Для каждого элемента a вычисляется число b, которое необходимо для достижения суммы target. Далее проверяется, содержится ли b в словаре index. Если да, то дополнительно проверяется, не совпадает ли индекс текущего элемента a с индексом элемента b. Если индексы различны, это означает, что была найдена пара чисел, сумма которых равна target.

#алгоритмы
#python
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/ds_interview_lib/192
Create:
Last Update:

🐍Решение задачи на Python «сумма двух» (Two sum)

Вам даны массив и число N. Нужно вернуть True, если в массиве есть такие два числа A и B, что их сумма A + B даёт N. В противном случае нужно вернуть False.
Примеры:
[1, 2, 3, 4], 5 ⇒ True
[3, 4, 6], 6 ⇒
False


✔️Можно, конечно, применить брутфорс, но есть решение получше. Его сложность составит O(n). Вот как оно выглядит:



def two_sum(numbers, target):
index = {num: i for (i, num) in enumerate(numbers)}

n = len(numbers)

for i in range(n):
a = numbers[i]
b = target - a

if b in index:
j = index[b]
if i != j:
return True

return False


Здесь сначала создаётся словарь index, который хранит числа из массива в качестве ключей и их индексы в массиве в качестве значений. Затем идёт перебор элементов массива. Для каждого элемента a вычисляется число b, которое необходимо для достижения суммы target. Далее проверяется, содержится ли b в словаре index. Если да, то дополнительно проверяется, не совпадает ли индекс текущего элемента a с индексом элемента b. Если индексы различны, это означает, что была найдена пара чисел, сумма которых равна target.

#алгоритмы
#python

BY Библиотека собеса по Data Science | вопросы с собеседований


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/ds_interview_lib/192

View MORE
Open in Telegram


Библиотека собеса по Data Science | вопросы с собеседований Telegram | DID YOU KNOW?

Date: |

Unlimited members in Telegram group now

Telegram has made it easier for its users to communicate, as it has introduced a feature that allows more than 200,000 users in a group chat. However, if the users in a group chat move past 200,000, it changes into "Broadcast Group", but the feature comes with a restriction. Groups with close to 200k members can be converted to a Broadcast Group that allows unlimited members. Only admins can post in Broadcast Groups, but everyone can read along and participate in group Voice Chats," Telegram added.

Telegram Auto-Delete Messages in Any Chat

Some messages aren’t supposed to last forever. There are some Telegram groups and conversations where it’s best if messages are automatically deleted in a day or a week. Here’s how to auto-delete messages in any Telegram chat. You can enable the auto-delete feature on a per-chat basis. It works for both one-on-one conversations and group chats. Previously, you needed to use the Secret Chat feature to automatically delete messages after a set time. At the time of writing, you can choose to automatically delete messages after a day or a week. Telegram starts the timer once they are sent, not after they are read. This won’t affect the messages that were sent before enabling the feature.

Библиотека собеса по Data Science | вопросы с собеседований from id


Telegram Библиотека собеса по Data Science | вопросы с собеседований
FROM USA